package com.atguigu.gulimall.order.vo;

import lombok.Data;
import lombok.ToString;

import java.util.Date;

@ToString
@Data
public class PayAsyncVo {

    /**
     * 交易创建时间。格式为 yyyy-MM-dd HH:mm:ss
     */
    private Date gmt_create;
    /**
     * 编码格式。如 utf-8、gbk、gb312等。
     */
    private String charset;
    /**
     * 交易付款时间。格式为 yyyy-MM-dd HH:mm:ss
     */
    private Date gmt_payment;
    /**
     * 通知的发送时间。格式为 yyyy-MM-dd HH:mm:ss
     */
    private Date notify_time;
    /**
     * 订单标题/商品标题/交易标题/订单关键字等，是请求时对应参数，会在通知中原样传回
     */
    private String subject;
    /**
     * 签名，详情可查看异步返回结果的验签
     * https://opendocs.alipay.com/open/270/105902#%E5%BC%82%E6%AD%A5%E8%BF%94%E5%9B%9E%E7%BB%93%E6%9E%9C%E7%9A%84%E9%AA%8C%E7%AD%BE
     */
    private String sign;
    /**
     * 买家支付宝用户号。
     * 买家支付宝账号对应的支付宝唯一用户号。新商户建议使用open_id替代该字段。
     */
    private String buyer_id;
    /**
     * 商品描述。该订单的备注、描述、明细等。对应请求时的 body 参数，会在通知中原样传回
     */
    private String body;
    /**
     * 开票金额。用户在交易中支付的可开发票的金额，单位为人民币（元），精确到小数点后 2 位
     */
    private String invoice_amount;
    /**
     * 调用的接口版本。固定为1.0
     */
    private String version;
    /**
     * 通知校验 ID
     * 支付宝针对同一条异步通知重试时，异步通知参数中的 notify_id 是不变的
     */
    private String notify_id;
    /**
     * 支付金额信息。支付成功的各个渠道金额信息。详情可查看下文 资金明细信息说明
     */
    private String fund_bill_list;
    /**
     * 通知类型，这里应该是 trade_status_sync，即异步通知
     */
    private String notify_type;
    /**
     * 商家订单号。原支付请求的商家订单号
     */
    private String out_trade_no;
    /**
     * 订单金额。本次交易支付订单金额，单位为人民币（元），精确到小数点后 2 位
     */
    private String total_amount;
    /**
     * 交易状态。交易目前所处状态
     * 枚举：WAIT_BUYER_PAY（交易创建，等待买家付款）、TRADE_CLOSED（未付款交易超时关闭，或支付完成后全额退款）、TRADE_SUCCESS（交易支付成功）、TRADE_FINISHED（交易结束，不可退款）
     */
    private String trade_status;
    /**
     * 支付宝交易号，支付宝交易凭证号，也就是支付宝的交易流水号
     */
    private String trade_no;
    /**
     * 授权方的APPID。由于本接口暂不开放第三方应用授权，因此 auth_app_id=app_id
     */
    private String auth_app_id;
    /**
     * 实收金额。商家在交易中实际收到的款项，单位为人民币（元），精确到小数点后 2 位
     */
    private String receipt_amount;
    /**
     * 使用集分宝支付金额，单位为人民币（元），精确到小数点后 2 位
     */
    private String point_amount;
    /**
     * 支付宝应用的APPID。支付宝分配给开发者的应用 ID
     */
    private String app_id;
    /**
     * 用户在交易中最终支付的金额，单位为人民币（元），精确到小数点后 2 位
     */
    private String buyer_pay_amount;
    /**
     * 签名类型。签名算法类型，目前支持RSA2和RSA，推荐使用 RSA2
     */
    private String sign_type;
    /**
     * 卖家支付宝账号 ID。以 2088 开头的纯 16 位数字
     */
    private String seller_id;
}
